package edu.gatech.oad.antlab.person;

/**
 * Create a player control class that holds the information of the main player. It knows their profession, their vehicle pace, their rations, their profession 
 * and their crew. 
 * @author Browntourage
 *
 */
public class PlayerControl {
	private double healthStatus; 
	private String pName; 
	private Profession profession; 
	private Player[]troop; 
	private Pace pace; 
	private Rations ration; 
	private double speed;
	private int amount; 
	protected int cash;
	protected int weight = 2000;
	/**
	 * Create a constructor for the player control class 
	 * @param pName The name of the player
	 * @param profession The profession of the player
	 */
	public PlayerControl(String pName, Profession profession){
		pace = new Pace(speed); 
		ration = new Rations(amount); 
		troop = new Player[4]; 
		healthStatus = 100.0; 
		this.pName = pName; 
		this.profession = profession; 
	}
	/**
	 * Create a getter for the amount for the rations
	 * @return amount
	 */
	public int getAmount() {
		return amount;
	}
	/**
	 * Create a setter for the amount for the rations 
	 * @param amount
	 */
	public void setAmount(int amount) {
		this.amount = amount;
	}
	/**
	 * Creates a getter for the speed so we know the pace. 
	 * @return speed
	 */
	public double getSpeed() {
		return speed;
	}
	/**
	 * Create a setter for speed for the player
	 * @param speed
	 */
	public void setSpeed(double speed) {
		this.speed = speed;
	}
	/**
	 * Create a getter for the HealthStatus for the player
	 * @return healthStatus
	 */
	public double getHealthStatus() {
		return healthStatus;
	}
	/**
	 * Create a setter for the HealthStatus for the player 
	 * @param healthStatus
	 */
	public void setHealthStatus(double healthStatus) {
		this.healthStatus = healthStatus;
	}
	/**
	 * Create a getter for the name of the player
	 * @return pName
	 */
	public String getpName() {
		return pName;
	}
	/**
	 * Create a setter for the name of the player 
	 * @param pName
	 */
	public void setpName(String pName) {
		this.pName = pName;
	}
	
	/**
	 * Create a getter for the cash
	 * @return pName
	 */
	public int getCash() {
		return cash;
	}
	/**
	 * Create a setter for the weight
	 * @param pName
	 */
	public void setWeight(int weight) {
		this.weight = weight;
	}
	
	/**
	 * Create a getter for the weight
	 * @return pName
	 */
	public int getWeight() {
		return weight;
	}
	/**
	 * Create a setter for the name of the player 
	 * @param pName
	 */
	public void setCash(int cash) {
		this.cash = cash;
	}
	/**
	 * Create a getter for the profession of the player
	 * @return profession
	 */
	public Profession getProfession() {
		return profession;
	}
	/**
	 * Create a setter for the profession  of the player
	 * @param profession
	 */
	public void setProfession(Profession profession) {
		this.profession = profession;
	}
	/**
	 * Create a method that will set the troop memember for the player
	 * @param name1
	 * @param name2
	 * @param name3
	 * @param name4
	 */
	public void pickTroops(String name1, String name2, String name3, String name4){
		troop[0] = new Player(name1); 
		troop[1] = new Player(name2); 
		troop[2] = new Player(name3); 
		troop[3] = new Player(name4); 
	}
	/**
	 * Create a setter for the Rations 
	 * @param amount The amount associated with the rations 
	 */
	public void setRations(int amount){
		ration.setAmount(amount); 
		
	}
	/**
	 * Create a getter for the rations
	 * @return amount
	 */
	public double getRations(){
		return amount; 
	}
	/**
	 * Create a setter for the pace of the player
	 * @param speed
	 */
	public void setPace(double speed){
		pace.setSpeed(speed); 
	}
	/**
	 * Create a getter for the pace of the player
	 * @return
	 */
	public double getPace(){
		return speed; 
	}

}
